home *** CD-ROM | disk | FTP | other *** search
/ New Star Software Collection / NSS_Collection.iso / 3-004 ms visual basic pro 30 / 4.imz / 4.IMA / WAVE.FR_ / WAVE.bin
Text File  |  1993-04-28  |  5KB  |  193 lines

  1. VERSION 2.00
  2. Begin Form Wave 
  3.    BorderStyle     =   1  'Fixed Single
  4.    ClientHeight    =   1380
  5.    ClientLeft      =   1305
  6.    ClientTop       =   2445
  7.    ClientWidth     =   5715
  8.    Height          =   2070
  9.    Left            =   1245
  10.    LinkMode        =   1  'Source
  11.    LinkTopic       =   "Form4"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   1380
  15.    ScaleWidth      =   5715
  16.    Top             =   1815
  17.    Width           =   5835
  18.    Begin MMControl MMControl1 
  19.       BackVisible     =   0   'False
  20.       EjectVisible    =   0   'False
  21.       Height          =   375
  22.       Left            =   240
  23.       RecordVisible   =   0   'False
  24.       StepVisible     =   0   'False
  25.       TabIndex        =   0
  26.       Top             =   840
  27.       UpdateInterval  =   0
  28.       Width           =   2205
  29.    End
  30.    Begin HScrollBar HScroll1 
  31.       Height          =   255
  32.       Left            =   240
  33.       Max             =   100
  34.       TabIndex        =   1
  35.       Top             =   360
  36.       Width           =   5295
  37.    End
  38.    Begin Label Label2 
  39.       FontBold        =   -1  'True
  40.       FontItalic      =   0   'False
  41.       FontName        =   "Courier"
  42.       FontSize        =   12
  43.       FontStrikethru  =   0   'False
  44.       FontUnderline   =   0   'False
  45.       Height          =   255
  46.       Left            =   4800
  47.       TabIndex        =   3
  48.       Top             =   0
  49.       Width           =   735
  50.    End
  51.    Begin Label Label1 
  52.       FontBold        =   -1  'True
  53.       FontItalic      =   0   'False
  54.       FontName        =   "Courier"
  55.       FontSize        =   12
  56.       FontStrikethru  =   0   'False
  57.       FontUnderline   =   0   'False
  58.       Height          =   255
  59.       Left            =   360
  60.       TabIndex        =   2
  61.       Top             =   0
  62.       Width           =   615
  63.    End
  64.    Begin Menu AL_FILE 
  65.       Caption         =   "&File"
  66.       Begin Menu AI_OPEN 
  67.          Caption         =   "&Open..."
  68.       End
  69.       Begin Menu AI_SEPARATOR 
  70.          Caption         =   "-"
  71.       End
  72.       Begin Menu AI_EXIT 
  73.          Caption         =   "&Exit"
  74.       End
  75.    End
  76. End
  77. Const INTERVAL = 50
  78. Const INTERVAL_PLUS = 55
  79.  
  80. Dim CurrentValue As Double
  81.  
  82. Sub AI_EXIT_Click ()
  83.     Unload Wave
  84. End Sub
  85.  
  86. Sub AI_OPEN_Click ()
  87.     Dim msec As Double
  88.  
  89.     ' Set the number of milliseconds between successive
  90.     ' StatusUpdate events.
  91.     MMControl1.UpdateInterval = 0
  92.  
  93.     ' Display the File Open... dialog.
  94.     OpenDlg.CMDialog1.FilterIndex = 1
  95.     OpenDlg.CMDialog1.Flags = OFN_READONLY Or OFN_FILEMUSTEXIST
  96.     OpenDlg.CMDialog1.CancelError = True
  97.     OpenDlg.CMDialog1.Filename = ""
  98.     On Error Resume Next
  99.     OpenDlg.CMDialog1.Action = 1
  100.  
  101.     If Err <> 0 Then
  102.         ' No file selected from the "Open File..." dialog.
  103.         Exit Sub
  104.     End If
  105.  
  106.     ' If the device is open, close it.
  107.     If Not MMControl1.Mode = MCI_MODE_NOT_OPEN Then
  108.         MMControl1.Command = "Close"
  109.     End If
  110.  
  111.     ' Open the device with the new filename.
  112.     MMControl1.Filename = OpenDlg.CMDialog1.Filename
  113.     On Error GoTo MCI_ERROR
  114.     MMControl1.Command = "Open"
  115.     On Error GoTo 0
  116.     Caption = DialogCaption + MMControl1.Filename
  117.     
  118.     ' Set the timing labels on the form.
  119.     MMControl1.TimeFormat = MCI_FORMAT_MILLISECONDS
  120.     Label1.Caption = "0.0"
  121.     msec = (CDbl(MMControl1.Length) / 1000)
  122.     Label2.Caption = Format$(msec, "0.00")
  123.  
  124.     ' Set the scrollbar values.
  125.     Hscroll1.value = 0
  126.     CurrentValue = 0#
  127.     Exit Sub
  128.  
  129. MCI_ERROR:
  130.     DisplayErrorMessageBox
  131.     Resume MCI_EXIT
  132.  
  133. MCI_EXIT:
  134.     Unload Wave
  135. End Sub
  136.  
  137. Sub Form_Load ()
  138.     ' Force the MCI control to complete before returning
  139.     ' to the application.
  140.     Wave.MMControl1.Wait = True
  141. End Sub
  142.  
  143. Sub Form_Unload (Cancel As Integer)
  144.     MCITest.Show
  145. End Sub
  146.  
  147. Sub MMControl1_PauseClick (Cancel As Integer)
  148.     ' Set the number of milliseconds between successive
  149.     ' StatusUpdate events.
  150.     MMControl1.UpdateInterval = 0
  151. End Sub
  152.  
  153. Sub MMControl1_PlayClick (Cancel As Integer)
  154.     ' Set the number of milliseconds between successive
  155.     ' StatusUpdate events.
  156.     MMControl1.UpdateInterval = INTERVAL
  157. End Sub
  158.  
  159. Sub MMControl1_PrevClick (Cancel As Integer)
  160.     ' Set the number of milliseconds between successive
  161.     ' StatusUpdate events.
  162.     MMControl1.UpdateInterval = 0
  163.     
  164.     ' Reset the scrollbar values.
  165.     Hscroll1.value = 0
  166.     CurrentValue = 0#
  167.     
  168.     MMControl1.Command = "Prev"
  169. End Sub
  170.  
  171. Sub MMControl1_StatusUpdate ()
  172.     Dim value As Integer
  173.  
  174.     ' If the device is not playing, reset to beginning.
  175.     If Not MMControl1.Mode = MCI_MODE_PLAY Then
  176.         Hscroll1.value = Hscroll1.max
  177.         MMControl1.UpdateInterval = 0
  178.         Exit Sub
  179.     End If
  180.     
  181.     ' Determine how much of the file has played.  Set a
  182.     ' value of the scrollbar between 0 and 100.
  183.     CurrentValue = CurrentValue + INTERVAL_PLUS
  184.     value = CInt((CurrentValue / MMControl1.Length) * 100)
  185.     
  186.     If value > Hscroll1.max Then
  187.         value = 100
  188.     End If
  189.  
  190.     Hscroll1.value = value
  191. End Sub
  192.  
  193.